$(document).ready(function (){
    
    $('#registrarAlumno').click(function(){               
        var nombre = $('#nombre').val();
        var apellidoPaterno = $('#apellidoPaterno').val();
        var apellidoMaterno = $('#apellidoMaterno').val();
        var edad = $('#edad').val();
        var telefono = $('#telefono').val();
        var direccion = $('#direccion').val();
        var sexo = $('#sexo').val();
        var programaEducativo = document.getElementById('programa_educativo');     
        var nombreDeUsuario = $('#nombreDeUsuario').val();
        var contrasenia = $('#contrasenia').val();
        var contraseniaConfirmacion = $('#contraseniaConfirmacion').val();                                 
                
        if(validarDatosPersonales(nombre, apellidoPaterno, apellidoMaterno, edad, telefono, direccion,programaEducativo) && validarDatosDeLaCuenta(nombreDeUsuario, contrasenia, contraseniaConfirmacion)){            
            enviarPeticionRegistroDeAlumno(nombre, apellidoPaterno, apellidoMaterno, edad, telefono, direccion, sexo, programaEducativo, nombreDeUsuario, contrasenia);                   
        }
    });          
    
    $("#regresarPortalAlumno").click(function()
    {
        window.location = "http://localhost:8080/GAPILite/Login.jsp";
    });
    
    function enviarPeticionRegistroDeAlumno(nombre, apellidoPaterno, apellidoMaterno, edad, telefono, direccion, sexo, programaEducativo, nombreDeUsuario, contrasenia,semestre){                    
        
        var clavePE = programaEducativo.value;
        
        var id = 'registrarCuentaAlumno';
                        
        var parametros = {
            'id' : id,
            'semestre' : semestre,
            'nombres' : nombre,
            'apellido_paterno' : apellidoPaterno,
            'apellido_materno' : apellidoMaterno,
            'edad' : edad,
            'telefono' : telefono,
            'direccion' : direccion,
            'sexo' : sexo,
            'clave_pe' : clavePE,
            'nombre_usuario' : nombreDeUsuario,
            'contrasenia' : contrasenia
        };
    
        $.ajax({
            data:  parametros,
            url:   'GestorDeCuentasDeAlumno',
            type:  'post',
        
            beforeSend: function (){
                $('#objetivoDeLaRespuesta').html('Procesando, espere por favor...');            
            },
        
            error : function(XMLHttpRequest, textStatus, errorThrown){       
                alert('Ocurri&oacute; un error al procesar la petici&oacute;n');
            },
        
            success:  function (respuesta){                            
                $('#objetivoDeLaRespuesta').html(respuesta);
            }
        });
    }
    
    function validarDatosPersonales(nombres, apellidoPaterno, apellidoMaterno, edad, telefono, direccion, programaEducativo){
        if(nombres.length <1 || nombres.length >45){
            alert("El nombre debe de tener entre 1 y 45 caracteres");
            return false;
        }
        if(apellidoPaterno.length <1 || apellidoPaterno.length >45){
            alert("El apellido paterno debe de tener entre 1 y 45 caracteres");
            return false;
        }
        if(apellidoMaterno.length <1 || apellidoMaterno.length >45){
            alert("El apellido materno debe de tener entre 1 y 45 caracteres");
            return false;
        }        
        if(telefono.length <1 || telefono.length >10){
            alert("El telefono debe de tener entre 1 y 10 caracteres");
            return false;
        }
        if(direccion.length <1 || direccion.length >255){
            alert("La direccion debe de tener entre 1 y 255 caracteres");
            return false;
        }        
        if(edad.length < 1 || edad.length > 11){
            alert("Debe ingresar su edad y debe tener enter 1 y 11 caracteres");
            return false;
        }           
        else{
            var expresionRegularEnteros = /^(-)?[0-9]*$/;
            if (!expresionRegularEnteros.test(edad)) {
                alert("La edad debe ser un numero entero");
                return false
            }                                         
        }   
        if(programaEducativo.selectedIndex < 0) {
            alert("Seleccione un programa educativo")
            return false;
        }

        return true;
    }

    function validarDatosDeLaCuenta(nombreDeUsuario, contrasenia, contraseniaConfirmacion){
        if(nombreDeUsuario.length <8 || nombreDeUsuario.length >16){
            alert("El nombre de usuario debe tener entre 8 y 16 caracteres");
            return false;
        }
        if(contrasenia.length <8 || contrasenia.length >45){
            alert("La contraseña debe de tener entre 8 y 45 caracteres");
            return false;
        }
        if(contraseniaConfirmacion.length <8 || contraseniaConfirmacion.length >45){
            alert("La contraseña debe de tener entre 8 y 45 caracteres");
            return false;
        } 
        if(contrasenia != contraseniaConfirmacion){
            alert("Las contraseñas no son iguales");
            return false;
        }        
        return true;
    }

});


